package com.ruoyi.hotel.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 对象 lyhms_room
 * 
 * @author ruoyi
 * @date 2022-02-28
 */
public class LyhmsRoom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 楼层编号；所在楼层号；例如1,2,3,4...99,100,101 */
    @Excel(name = "楼层编号；所在楼层号；例如1,2,3,4...99,100,101")
    private Integer floorNumber;

    /** 房间编号；命名规则：楼层编号-小房间编号；例如1-01,1-99 */
    @Excel(name = "房间编号；命名规则：楼层编号-小房间编号；例如1-01,1-99")
    private String roomNumber;

    /** 房间名称；起一个富有诗情画意的名字；例如归去来兮 */
    @Excel(name = "房间名称；起一个富有诗情画意的名字；例如归去来兮")
    private String roomName;

    /** 房间特点；暂定固定值：干净卫生，价格划算，房间很大，服务热情 */
    @Excel(name = "房间特点；暂定固定值：干净卫生，价格划算，房间很大，服务热情")
    private String roomFeature;

    /** 房间价格；房间类型-房间价格-床型-可住人数，k-v对    ① */
    @Excel(name = "房间价格；房间类型-房间价格-床型-可住人数，k-v对    ①")
    private BigDecimal roomPrice;

    /** 房间状态；1空房2已预订3已入住4清理中5维修中，其他任何值均为暂不开放 */
    @Excel(name = "房间状态；1空房2已预订3已入住4清理中5维修中，其他任何值均为暂不开放")
    private String roomStatus;

    /** 排序索引；最多5位其中必须有2位小数；最大值999.99 */
    @Excel(name = "排序索引；最多5位其中必须有2位小数；最大值999.99")
    private BigDecimal sortIndex;

    /** 房间类型；房间类型-房间价格-床型-可住人数，k-v对    ② */
    @Excel(name = "房间类型；房间类型-房间价格-床型-可住人数，k-v对    ②")
    private String roomType;

    /** 房间图片；暂定单图，后期设计为多图 */
    @Excel(name = "房间图片；暂定单图，后期设计为多图")
    private String roomPhoto;

    /** 房间面积；例如28平方米，可支持25~30平方米字样 */
    @Excel(name = "房间面积；例如28平方米，可支持25~30平方米字样")
    private String roomArea;

    /** 是否含窗；2有含窗3不含窗，其他任何值均为正在安装 */
    @Excel(name = "是否含窗；2有含窗3不含窗，其他任何值均为正在安装")
    private Integer haveWindow;

    /** 上网方式；2WiFi3WiFi和宽带，其他任何值均为正在安装 */
    @Excel(name = "上网方式；2WiFi3WiFi和宽带，其他任何值均为正在安装")
    private String netPlay;

    /** 可入住人数；房间类型-房间价格-床型-可住人数，k-v对    ③ */
    @Excel(name = "可入住人数；房间类型-房间价格-床型-可住人数，k-v对    ③")
    private String peopleNumber;

    /** 床型；房间类型-房间价格-床型-可住人数，k-v对    ④ */
    @Excel(name = "床型；房间类型-房间价格-床型-可住人数，k-v对    ④")
    private String bedType;

    /** 卫浴；暂定固定值，独立卫生间 */
    @Excel(name = "卫浴；暂定固定值，独立卫生间")
    private String bathroom;

    /** 是否含早餐；2含早餐3不含早餐，其他值均为可单独购买 */
    @Excel(name = "是否含早餐；2含早餐3不含早餐，其他值均为可单独购买")
    private Integer haveBreakfast;

    /** 费用政策；暂定固定值：加床：该房型不可加床 */
    @Excel(name = "费用政策；暂定固定值：加床：该房型不可加床")
    private String costPolicy;
    private long deptId;

    public long getDeptId() {
        return deptId;
    }

    public void setDeptId(long deptId) {
        this.deptId = deptId;
    }

    /** 便利设施；暂定固定值：房间内高速上网 */
    @Excel(name = "便利设施；暂定固定值：房间内高速上网")
    private String convenienceFacilities;

    /** 浴室配套；暂定固定值：淋浴，24小时热水，洗漱用品，独立卫生间 */
    @Excel(name = "浴室配套；暂定固定值：淋浴，24小时热水，洗漱用品，独立卫生间")
    private String bathroomMatching;

    /** 入住时间段；入住日期；例如：xxxx-xx-xx  13:00:00 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住时间段；入住日期；例如：xxxx-xx-xx  13:00:00", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkInTimeEnter;

    /** 入住时间段；离开日期；例如：xxxx-xx-xx 12:00:00 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入住时间段；离开日期；例如：xxxx-xx-xx 12:00:00", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkInTimeLeave;

    /** 首次创建者id */
    @Excel(name = "首次创建者id")
    private String createrId;

    /** 首次创建者name */
    @Excel(name = "首次创建者name")
    private String createrName;

    /** 历次修改者id */
    @Excel(name = "历次修改者id")
    private String updaterId;

    /** 历次修改者name */
    @Excel(name = "历次修改者name")
    private String updaterName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFloorNumber(Integer floorNumber) 
    {
        this.floorNumber = floorNumber;
    }

    public Integer getFloorNumber() 
    {
        return floorNumber;
    }
    public void setRoomNumber(String roomNumber) 
    {
        this.roomNumber = roomNumber;
    }

    public String getRoomNumber() 
    {
        return roomNumber;
    }
    public void setRoomName(String roomName) 
    {
        this.roomName = roomName;
    }

    public String getRoomName() 
    {
        return roomName;
    }
    public void setRoomFeature(String roomFeature) 
    {
        this.roomFeature = roomFeature;
    }

    public String getRoomFeature() 
    {
        return roomFeature;
    }
    public void setRoomPrice(BigDecimal roomPrice) 
    {
        this.roomPrice = roomPrice;
    }

    public BigDecimal getRoomPrice() 
    {
        return roomPrice;
    }
    public void setRoomStatus(String roomStatus)
    {
        this.roomStatus = roomStatus;
    }

    public String getRoomStatus()
    {
        return roomStatus;
    }
    public void setSortIndex(BigDecimal sortIndex) 
    {
        this.sortIndex = sortIndex;
    }

    public BigDecimal getSortIndex() 
    {
        return sortIndex;
    }
    public void setRoomType(String roomType) 
    {
        this.roomType = roomType;
    }

    public String getRoomType() 
    {
        return roomType;
    }
    public void setRoomPhoto(String roomPhoto) 
    {
        this.roomPhoto = roomPhoto;
    }

    public String getRoomPhoto() 
    {
        return roomPhoto;
    }
    public void setRoomArea(String roomArea) 
    {
        this.roomArea = roomArea;
    }

    public String getRoomArea() 
    {
        return roomArea;
    }
    public void setHaveWindow(Integer haveWindow) 
    {
        this.haveWindow = haveWindow;
    }

    public Integer getHaveWindow() 
    {
        return haveWindow;
    }
    public void setNetPlay(String netPlay)
    {
        this.netPlay = netPlay;
    }

    public String getNetPlay()
    {
        return netPlay;
    }
    public void setPeopleNumber(String peopleNumber) 
    {
        this.peopleNumber = peopleNumber;
    }

    public String getPeopleNumber() 
    {
        return peopleNumber;
    }
    public void setBedType(String bedType) 
    {
        this.bedType = bedType;
    }

    public String getBedType() 
    {
        return bedType;
    }
    public void setBathroom(String bathroom) 
    {
        this.bathroom = bathroom;
    }

    public String getBathroom() 
    {
        return bathroom;
    }
    public void setHaveBreakfast(Integer haveBreakfast) 
    {
        this.haveBreakfast = haveBreakfast;
    }

    public Integer getHaveBreakfast() 
    {
        return haveBreakfast;
    }
    public void setCostPolicy(String costPolicy) 
    {
        this.costPolicy = costPolicy;
    }

    public String getCostPolicy() 
    {
        return costPolicy;
    }
    public void setConvenienceFacilities(String convenienceFacilities) 
    {
        this.convenienceFacilities = convenienceFacilities;
    }

    public String getConvenienceFacilities() 
    {
        return convenienceFacilities;
    }
    public void setBathroomMatching(String bathroomMatching) 
    {
        this.bathroomMatching = bathroomMatching;
    }

    public String getBathroomMatching() 
    {
        return bathroomMatching;
    }
    public void setCheckInTimeEnter(Date checkInTimeEnter) 
    {
        this.checkInTimeEnter = checkInTimeEnter;
    }

    public Date getCheckInTimeEnter() 
    {
        return checkInTimeEnter;
    }
    public void setCheckInTimeLeave(Date checkInTimeLeave) 
    {
        this.checkInTimeLeave = checkInTimeLeave;
    }

    public Date getCheckInTimeLeave() 
    {
        return checkInTimeLeave;
    }
    public void setCreaterId(String createrId) 
    {
        this.createrId = createrId;
    }

    public String getCreaterId() 
    {
        return createrId;
    }
    public void setCreaterName(String createrName) 
    {
        this.createrName = createrName;
    }

    public String getCreaterName() 
    {
        return createrName;
    }
    public void setUpdaterId(String updaterId) 
    {
        this.updaterId = updaterId;
    }

    public String getUpdaterId() 
    {
        return updaterId;
    }
    public void setUpdaterName(String updaterName) 
    {
        this.updaterName = updaterName;
    }

    public String getUpdaterName() 
    {
        return updaterName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("floorNumber", getFloorNumber())
            .append("roomNumber", getRoomNumber())
            .append("roomName", getRoomName())
            .append("roomFeature", getRoomFeature())
            .append("roomPrice", getRoomPrice())
            .append("roomStatus", getRoomStatus())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .append("sortIndex", getSortIndex())
            .append("roomType", getRoomType())
            .append("roomPhoto", getRoomPhoto())
            .append("roomArea", getRoomArea())
            .append("haveWindow", getHaveWindow())
            .append("netPlay", getNetPlay())
            .append("peopleNumber", getPeopleNumber())
            .append("bedType", getBedType())
            .append("bathroom", getBathroom())
            .append("haveBreakfast", getHaveBreakfast())
            .append("costPolicy", getCostPolicy())
            .append("convenienceFacilities", getConvenienceFacilities())
            .append("bathroomMatching", getBathroomMatching())
            .append("checkInTimeEnter", getCheckInTimeEnter())
            .append("checkInTimeLeave", getCheckInTimeLeave())
            .append("createrId", getCreaterId())
            .append("createrName", getCreaterName())
            .append("updaterId", getUpdaterId())
            .append("updaterName", getUpdaterName())
            .toString();
    }
}
